System and method for reducing the amount of repetitive data sent by a server to a client for vehicle navigation

ABSTRACT

A system and method for reducing the amount of repetitive data sent by a server to a client for vehicle navigation. The system includes a computer-based vehicle unit located in a vehicle, a gateway configured to wirelessly send and receive trip information to and from the vehicle unit, and a computer-based server in communication with the gateway over a network. The vehicle unit wirelessly receives signals from a computer-based server that includes the desired navigation information in packet form. The vehicle unit includes a user interface component that presents the received navigation information and records user requests. The server processes the requests, generates a trip plan according to the navigation information and sends the generated trip plan back to the vehicle unit via a gateway when a request has been completed.

FIELD OF THE INVENTION

This invention relates generally to communication and computing systemsand methods and, more specifically, to a system and method for directinga motorist to a destination.

BACKGROUND OF THE INVENTION

The following application is incorporated by reference as if fully setforth herein: U.S. application Ser. No. 11/820,066 filed Jun. 5, 2006.

With advances in on-board vehicle computer systems and wirelesstechnologies, vehicle navigation systems that provide users with currentlocation and driving directions to a desired destination have become areality. Vehicle navigation systems have taken one of two forms:on-board systems and network-based systems. On-board systems are drivenby a computer and associated database resident in each vehicle. Thesesystems generate driving instructions based on user voice or keyboardinput and map information stored in the on-board computing system.Network-based navigation systems do not rely on an on-board computer andassociated database, but rather provide a voice interface to anoff-vehicle computer or human information provider.

Significant disadvantages exist with both forms of vehicle navigationsystems. The on-board navigation system requires expensive and quicklyoutdated computer hardware. Moreover, with the on-board computingapproach, the database needs to be updated periodically to maintaincurrent navigation information. Indeed, such systems can never really beup to date or comprehensive as they rely on external updates, typicallyvia a CD-ROM or other removable electronic storage medium. Thenetwork-based system requires an open wireless link to the server. Inthese systems, the user typically dials a number and gives theirstarting and ending addresses (current location and destination). Thesystem computes the route and vocally recites it to the user turn byturn. If the user hangs up, or it otherwise disconnected, they need tocall again and give their new location and the destination address.Maintaining an active phone connection, especially in a situationinvolving long distance travel, is inefficient and expensive, as well asdistracting to the vehicle user.

Thus, there is a need for a system and method that addresses thedisadvantages associated with current attempts at vehicle navigationsystems.

SUMMARY

The present invention provides a system and method for reducing theamount of repetitive data sent by a server to a client for vehiclenavigation. The system includes a computer-based vehicle unit located ina vehicle, a gateway configured to wirelessly send and receive tripinformation to and from the vehicle unit, and a computer-based server incommunication with the gateway over a network. The vehicle unitwirelessly receives signals from a computer-based server that includethe desired navigation information. The vehicle unit includes a userinterface component that presents the received navigation informationand record user requests. The server processes the requests, generates atrip plan according to the navigation information, and sends thegenerated trip plan back to the vehicle unit via a gateway when arequest is completed.

The server includes a receiving component that receives information fromthe vehicle unit via the gateway, a trip plan generator that generates aplan according to navigation information, vehicle coordinates, and tripnavigation instructions. The trip plan generated includes a table oflocations for the trip plan associated with the navigation instructions.Along with the receiving component, the server includes a first sendingcomponent that sends the generated trip plan table to the vehicle unitvia the gateway. The server also includes a transaction component thatcompletes a transaction based upon the navigation instructions and thetrip plan generated. The vehicle unit chooses navigation promptsincluded in the trip plan based on a comparison of the present vehiclecoordinates and the trip plan. The chosen navigation prompts aredependent upon whether the vehicle coordinates are within a reasonablethreshold value from the location associated with the navigationprompts.

In accordance with further aspects of the invention, the user requestsinclude voice instructions.

In accordance with still further aspects of the invention, the userinterface includes a microphone for recording voice instructions and aspeaker for presenting received voice prompts audibly.

In accordance with yet other aspects of the invention, the transactioncomponent includes a voice recognition processor configured to performvoice recognition processing of the recorded requests.

In accordance with other aspects of the invention, the navigationprompts include voice prompts.

In accordance with further aspects of the invention, if the vehiclecoordinates are not within a reasonable threshold value from thelocation associated with the navigation prompts the vehicle unitcontacts the server and requests a new trip plan using the currentvehicle coordinates.

As will be readily appreciated from the foregoing summary, the inventionprovides a system and method for reducing the amount of repetitive datasent by a server to a client for vehicle navigation, as well as reducethe airtime required for such computation.

BRIEF DESCRIPTION OF THE DRAWINGS

The preferred and alternative embodiments of the present invention aredescribed in detail below with reference to the following drawings.

FIG. 1 is a diagram illustrating the general architecture of a systemthat operates in accordance with the present invention; and

FIGS. 2 and 3 are flow charts illustrating various embodiments performedby the system shown in FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention is a vehicle navigation system 10 that includes avehicle 12 with an in-vehicle telematic control unit (TCU) 14. TCU 14 isin wireless communication with a server 16 over a network 18. Network 18preferably includes components for receiving wireless signals from TCU14 and converting the signals for wire or wireless transmission toserver 16. The network is preferably the Internet, but could be anypublic or private data network. Network 18 includes a gateway (notshown) that can send and receive wireless signals to and from TCU 14,and can communicate through other components (e.g., routers) in thenetwork to server 16. The wireless signals include information that ispreferably in packet form, although the information may be inalternative forms. TCU 14 includes a processor 20 coupled to a userinterface 22, a global positioning system (GPS) unit 24, a radio module26 and local storage or memory 28. User interface 22 preferably includesa speaker and a microphone (not shown), and may include a display. Theuser interface may also include on-or-off screen user interface buttons.Radio module 26 is capable of sending and receiving both voice and data.Server 16 includes a processor 30 and a database 32 that holds vehiclenavigation information: maps, road conditions and terrain, laneinformation and changes, touring instructions, etc.

System 10 of the present invention minimizes the amount of airtime usedbetween TCU 14 and server 16 to send a trip plan. When a user asks thesystem for directions, the vehicle's local coordinates (as determined byGPS unit 24) are sent from TCU 14 to server 16 over network 18. The useralso specifies their destination to the TCU. Entry of the user'snavigation instruction request, including the destination information,is preferably done vocally through the microphone, but may beaccomplished by other data entry means, such as via user interfacebuttons. The TCU transmits the vocalized destination to server 16. Theserver calculates the trip plan and generates a table of locations(expressed as location coordinates, such as GPS coordinates) and thecorresponding navigation prompts (e.g. turn left onto Howel St.). Thesenavigation prompts are preferably voice prompts, but may include otherforms of user notification, such as textual messages or differentaudible, visual or other signals. The table with navigation prompts issent to TCU 14 in vehicle 12. In an alternate embodiment, the navigationprompts are sent as an audio file (assuming voice prompts), such as aWAV file or an MP3 file. In another embodiment, the table includeslocations identified in text form that are displayed or converted toaudio by a text-to-speech (TTS) component of processor 20. Thenavigation prompts could also include symbols that indicate common wordssuch as “turn,” “left,” “onto,” “street,” and “avenue,” combined withthe vocal recording of the name of the proper noun “Howell” street. Asthe vehicle moves according to the trip plan and arrives at a locationwhose GPS coordinates match those of an entry in the table, thecorresponding voice prompt is played through the speakers to the systemuser. This process is described in more detail in FIG. 2.

FIG. 2 is a flow diagram of a process performed by system 10 shown inFIG. 1. First, at block 50, the user initiates a trip request. Triprequest initiation can occur in a number of ways. For example, the usermay select a trip request button included in user interface 22, or speaka start trip request command into the microphone that is interpreted byvoice recognition software executed by processor 20; either actioncauses processor 20 to begin a trip request. At blocks 52 and 54, theinitiated trip request causes TCU 14 to send the vehicle's GPScoordinates and any user entered instructions of the destination toserver 16. At block 56, server 16 interprets the voice instructions todetermine the destination. Interpreting includes performing voicerecognition processing. Next, at block 58, the server generates a tripplan according to vehicle navigation information such as stored map orother navigation information, the vehicle GPS coordinates, and theinterpreted voice instructions of the destination. At block 60, a tableof locations is generated for the trip plan. The table includes tripplan information, such as landmarks, turns, road changes or othersignificant travel-related information. Each location entry in the tableincludes an associated voice or text prompt. At block 62, the trip planincluding the table is sent to the TCU.

At decision block 64, once the vehicle receives the trip plan table, TCU14 determines if the vehicle is adhering to the trip plan. The TCUperiodically checks the vehicle's GPS location and determines if it ison the trip plan or within a threshold value from the trip plan. Thisthreshold value may be a function of the distance from a known locationin the trip plan, or location relative to known geographic marks, orsome combination of various factors. Within the threshold value, thesystem can document the present location of the vehicle in relation tothe trip plan and chart the navigational path to return to the trip planor a modified trip plan. If the vehicle is not adhering to the tripplan, the TCU contacts server 16 and requests a new trip plan accordingto the present vehicle location (block 66). If the TCU determines thevehicle is adhering to the trip plan, the TCU determines whether thevehicle is at an identified location within the trip plan table(decision block 68). If the vehicle is not at a location identified inthe trip plan table, the process continues checking locations accordingto decision blocks 64 and 68. If the vehicle is at a location in thetrip plan table or within a threshold value from a location in thetable, TCU 14 plays the voice prompt associated with the location in thetable that corresponds to the vehicle's location (block 70). In anotherembodiment, voice recordings associated with pre-stored symbols areplayed in series with a proper-noun street identifier. Then, the processcontinues checking vehicle location according to decision blocks 64 and68.

In an alternate embodiment, the system may cache parts of a voice promptthat are later combined by processor 20 to create a navigationinstruction. For example, TCU 14 receives the following voice promptsfrom server 16:

-   -   (a) “turn left onto Howel Street”;    -   (b) “turn left onto 4th Avenue”.        A caching component performed by processor 20 caches 3        sub-prompts:    -   #17 “turn left”    -   #18 “Howell Street”    -   #19 “4th Avenue”.        The tag identifiers for the (a) and (b) voice prompts include        tag identifiers for the sub-prompts (i.e. a=#17 #18; b=#17 #19).        So in effect, in this alternate embodiment, each tag is a series        of sub-tags. Server 16 may send just the tag identifiers for the        sub-prompts. Processor 20 combines the sub-prompts according to        the order the tag identifiers were received and presents the        combination to the user.

FIG. 3 is a flow diagram of an alternative process performed by system10 shown in FIG. 1. First, at block 80, the user sends a trip request toserver 16 (see blocks 50-56 of FIG. 2). At block 82, the servercalculates a trip plan, creates a trip plan table according to thecalculated trip plan, and sends the trip plan table to the user's TCU14. The trip plan table includes locations and associated navigation(preferably voice) prompts. At block 84, as the user is travelingaccording to their trip plan, TCU 14 compares the vehicle's presentlocation (GPS generated) to the received table. At decision block 86, ifthe vehicle's present location is not in the trip plan table, theprocess returns to block 84, where it continues comparing the vehicle'spresent location to the entries in the trip plan table. If there is acorresponding location entry in the trip plan table, the logic proceedsto decision block 88. At decision block 88, if the table has acorresponding stored voice prompt, TCU 14 retrieves and plays thecorresponding stored voice prompt (block 90). If, at decision block 88,TCU 14 determines that a corresponding voice prompt does not exist inthe table or elsewhere in memory 28, the TCU sends a request to theserver to send a voice prompt according to a tag identifier thatindicates the missing voice prompt (block 92). At block 94, server 16sends the requested voice prompt. At block 96, the TCU plays thereceived voice prompt. At block 98, the TCU stores the received voiceprompt for possible later use. At block 100, the TCU purges saved voiceprompts according to a scheduled purge request, to a user purge request,or to a purge request sent from the server 16.

In an alternate embodiment, the steps performed at blocks 82-84 areperformed at server 16, and the server does not send the table to therequester, but compares the vehicle's present location (GPS generated)to the server-generated table. If an associated voice prompt is present,the server sends a tag identifier associated with the voice prompt toTCU 14. The TCU compares the sent tag identifier to previously receivedvoice prompts that are stored in memory 28 according to assigned tagidentifiers. If an appropriate voice prompt is in memory 28, processor20 retrieves it and presents it to the user via user interface 22. If avoice prompt is not found, TCU 14 sends a request to server 16 for theactual voice prompt, which is presented to the user when received fromthe server.

While the preferred embodiment of the invention has been illustrated anddescribed, as noted above, many changes can be made without departingfrom the spirit and scope of the invention. For example, the types ofcommunication between the vehicle and the server may be all wireless,the components of the server may be distributed over the network, andthe location identifier may be a non-satellite system that determinesvehicle location based on ground-based transmitters. Also, the order ofthe steps performed in the described embodiments may be altered withoutdeparting from the scope of the invention. Accordingly, the scope of theinvention is not limited by the disclosure of the preferred embodiment.Instead, the invention should be determined entirely by reference to theclaims that follow.

1. A vehicle navigation method comprising: initiating a trip request,including trip request information; determining vehicle coordinates;sending vehicle coordinates and the entered trip request information toa server over a network; generating a trip plan according to navigationinformation stored in a memory associated with the server, the vehiclecoordinates, and the trip request information, wherein the generatedtrip plan includes a table of locations of the trip plan with associatednavigation prompts; sending the generated trip plan table to the vehicleover the network; comparing present vehicle coordinates to the trip plantable; and if, according to the comparison, the vehicle coordinates arewithin a threshold value from a location in the table, presenting thenavigation prompt associated with the location in the table that iswithin the threshold value of the vehicle's location.
 2. The method ofclaim 1, wherein trip request information includes voice instructions.3. The method of claim 2, wherein generating comprises determining adestination by interpreting the trip voice instructions by performingvoice recognition processing.
 4. The method of claim 1, wherein thenavigation prompts include voice prompts.
 5. The method of claim 1,further comprising determining if the vehicle is adhering to the tripplan, wherein determining adherence comprises: determining distance ofthe vehicle coordinates to the trip plan; and if the vehicle coordinatesare not within a threshold value from the trip plan, sending presentvehicle coordinates to the server, generating a new trip plan and tripplan table based on the sent present vehicle coordinates, and sendingthe new trip plan table to the vehicle.
 6. The method of claim 1,wherein generating comprises determining a destination by interpretingthe trip voice instructions by performing voice recognition processing.7. The method of claim 1, further comprising determining if the vehicleis adhering to the trip plan, wherein determining adherence comprises:determining the distance of the vehicle coordinates to a trip planlocation; and if the vehicle coordinates are not within a thresholdvalue from the trip plan location, sending present vehicle coordinatesto the server, generating a new trip plan and trip plan table based onthe sent present vehicle coordinates, and sending the new trip plantable to the vehicle.
 8. The method of claim 1, wherein: retrievingcomprises when a voice prompt is not previously stored at the vehicle,sending a request to the server for the non-stored voice prompt andsending the non-stored voice prompt from the server to the vehicle; andpresenting comprises presenting the sent voice prompt.
 9. The method ofclaim 8, wherein retrieving further comprises saving the sent voiceprompt according to the corresponding identifier.
 10. The method ofclaim 1, further comprising purging saved voice prompts according to ascheduled purge request.
 11. The method of claim 1, further comprisingpurging saved voice prompts according to a user purge request.
 12. Themethod of claim 1, further comprising purging saved voice promptsaccording to a server generated purge request.
 13. A vehicle navigationsystem comprising: a computer-based vehicle unit located in a vehiclefor receiving and transmitting trip request information and receivingtrip plan navigation information, the computer-based vehicle unit havinga processor and associated memory, a user interface, a globalpositioning system for determining vehicle coordinates, and a radiounit; a network configured to wirelessly send and receive trip requestinformation to and from the vehicle unit via the radio unit; and acomputer-based server in communication with the network for receivingtrip request information from the computer-based vehicle unit,generating a trip plan according to navigation information stored in amemory associated with the server and the trip request information, andsending the generated trip plan to the vehicle unit over the network.14. The system of claim 13, wherein the generated trip plan includes atable of locations of the trip plan with associated navigation prompts.15. The system of claim 14, wherein: the computer-based vehicle unitcompares present vehicle coordinates to the trip plan table; and if,according to the comparison, the vehicle coordinates are within athreshold value from a location in the table, the vehicle unit presentsthe navigation prompt associated with the location in the table that iswithin the threshold value of the vehicle's location.
 16. A vehiclenavigation apparatus comprising: means for initiating a trip request;means for entering trip voice instructions; means for determiningvehicle coordinates; means for sending vehicle coordinates and theentered voice instructions to a server over a network; means forgenerating a trip plan according to vehicle navigation informationstored in a memory associated with the server, the vehicle coordinates,and the trip voice instructions, wherein the generated trip planincludes a table of locations of the trip plan and each location entryin the table includes an associated voice prompt; means for comparingpresent vehicle coordinates to the trip plan table; and if, according tothe comparison, the vehicle coordinates are within a threshold valuefrom a location in the table, means for retrieving at least one of avoice prompt or voice prompt tag identifier, means for sending theretrieved at least one of a voice prompt or voice prompt tag identifierto the vehicle, and means for presenting the sent voice prompt or apreviously stored voice prompt associated with the sent voice prompt tagidentifier.